《编译原理 |
您所在的位置:网站首页 › 编译 龙书 › 《编译原理 |
这一章重要的是2个概念:
SDD:语法制导定义,由一个上下文无关文法和属性及规则组成
SDT:语法制导翻译,是在其产生式体内嵌入了程序片段的一个上下文无关文法
5.1 语法制导定义
图5.5中计算过程比较复杂,看完5.2节求值顺序就会理解更多
5.1.1比较简单,就是自底向上语法树中加上 .val就行 5.1.2 5.2 SDD的求值顺序5.2.1 保证下表中从左到右排就行 1->3->5 2->4 4,5->6 6->7 7->8 8->9 5.2.2 依赖图比注释语法分析树增加了依赖关系 本题中的注释语法分析树完全类似图5-9 5.2.3 A->BCD S属性 L属性 求值顺序是否影响规则(中文书中翻译有问题) A.s=B.i+C.s no(有继承属性) yes A.s=B.i+C.s D.i=A.i+B.s no yes A.s=B.s+D.s yes yes A.s=D.i B.i=A.s+C.s C.i=B.s D.i=B.i+C.i no no 5.2.4 S->L1.L2 L1.side = left L2.side=right S.value=L1.value+L2.value S->L L1.side = left S.value=L.value L->L1B L1.side=L.side if(L.side==left) L.value=L1.value*2+B.value else L.value=L1.value+B/2^(length(L1)) L->B if(L.side==left) L.value=B.value else L.value=B.value/2 B->0 B.value = 0 B->1 B.value = 1 5.2.5 S->LEFT.RIGHT | LEFT LEFT-> |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |